函数
1. esp.flash_read(byte_offset, buf)
函数说明:从地址为 byte_offset 的 flash 起始点读取 buf.len()个长度的数据并放入 buf 中。
byte_offset:flash偏移地址
buf:接收数据缓冲区,缓冲区的长度为len
示例:
import esp
buf = bytearray(100)
esp.flash_read(2097152, buf)
2. esp.flash_write(byte_offset, buf)
函数说明:将 buf 中所有的数据写入地址为 byte_offset 的 flash 区域。
byte_offset:flash偏移地址
buf:数据缓冲区,缓冲区长度为len
示例:
buf = bytearray(100)
esp.flash_write(2097152, buf)
3. esp.flash_erase(sector_no)
函数说明:擦除flash扇区。
sector_no:要擦除的扇区
示例:
esp.flash_erase(512)
4. esp.flash_size()
函数说明:返回flash的大小。
5. esp.flash_user_start()
函数说明:返回用户可使用flash起始地址。
6. esp.neopixel_write(pin, grb_buf, timing)
函数说明:该函数可用于控制LED灯条。
pin:LED灯条连接的引脚
grb_buf:rgb颜色
timing:频率
示例:
from machine import Pin
import esp
pin = Pin(2, Pin.OUT)
rgb = bytearray([255, 0, 0]) #红色
while True:
esp.neopixel_write(pin, rgb, 800)
7. esp.dht_readinto(pin, buf)
函数说明:读dht的值(温湿度传感器)。
pin:读取数据的引脚
buf:数据缓冲区
示例:
本示例需要连接DHT11模块,点击购买DHT11
from machine import Pin
import time
import esp
buf = bytearray(5)
def measure(pin):
global buf
esp.dht_readinto(pin, buf)
if(buf[0]+buf[1]+buf[2]+buf[3])&0xff!= buf[4]:
raise Exception("checksum error")
def dht11_humidity():
return buf[0]
def dht11_temperature():
return buf[2]
def dht22_humidity():
return (buf[0]<<8 | buf[1])*0.1
def dht22_temperature():
t = ((buf[2] & 0x7f) << 8 |buf[3])*0.1
if buf[2] & 0x80:
t = -t
return t
try:
while True:
measure(Pin(2))
print("dht11 humidity:", dht11_humidity())
print("dht11 temperature:", dht11_temperature())
# print("dht22 humidity:", dht22.humidity())
# print("dht22 temperature:", dht22.temperature())
time.sleep(0.5)
except:
print("Abnormal program!")
运行结果
dht11 humidity:18
dht11 temperature:24
dht11 humidity:18
dht11 temperature:24
dht11 humidity:18
dht11 temperature:24
……